import { useIntersectionObserver } from '@vueuse/core'
// 定义懒加载插件

export const lazyPlugin = {
    install (app) {
        // 懒加载指令逻辑
        app.directive('img-lazy',{
            mounted(el, binding){
                // el：指令绑定的那个元素 img
                // binging：binging.value 指令等于号后面绑定的表达式的值 图片url
                // console.log(el, binding.value)
                // 监听对象是否进入可是区域的函数
                const {stop} = useIntersectionObserver(
                    // 监听的对象 -- el
                    el,
                    // isIntersecting 是否进入可视区域
                    ([{ isIntersecting }]) => {
                        if (isIntersecting) {
                            el.src = binding.value
                            // 手动停止监听，防止内存浪费
                            stop()
                        }
                    },
                  )
            }
        })
    }
}